/** AcWing 803. 区间合并 **/
/**
  * 关于算法竞赛代码优化，真正优秀的代码不会出现冗余，也不会出现让人费解的
  * 所谓“优化”，而是踏踏实实清清楚楚地把题解完。不管在赛场上还是工程中，
  * 代码风格整洁会让程序员持续受益。
  **/
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef pair<int, int> pi;
const int maxn = 100000+7;
vector<pi> segs;
vector<pi> ans;
int n;
int main() {
  cin>>n;
  for(int i=0; i<n;++i) {int l, r; cin>>l>>r;segs.push_back({l, r});}
  sort(segs.begin(), segs.end());
  int st=-2e9, ed=-2e9;
  for(auto [nl, nr] : segs) {
    if(nl > ed) {
      ans.push_back({st, ed});
      st = nl;
      ed = nr;
    }
    else {
      ed = max(ed, nr);
    }
  }
  int res = ans.size() + 1; // 加一是因为最后一个没有push
  if(ans.begin()->first == -2e9) res--;
  cout<<res<<endl;
}
